bin/converter.o: src/converter/converter.c
	gcc -c src/converter/converter.c -o bin/converter.o

bin/data.o: src/data.c
	gcc -c src/data.c -o bin/data.o
	
bin/input.o: src/input/input.c
	gcc -c src/input/input.c -o bin/input.o
	
bin/parser.o: src/parser/parser.c
	gcc -c src/parser/parser.c -o bin/parser.o
	
bin/trier.o: src/trier/trier.c
	gcc -c src/trier/trier.c -o bin/trier.o
	
bin/prover.o: src/prover.c
	gcc -c src/prover.c -o bin/prover.o
	
bin/output.o: src/output/output.c
	gcc -c src/output/output.c -o bin/output.o
	
all: bin/prover.o bin/converter.o bin/input.o bin/parser.o bin/data.o bin/output.o
	gcc -o bin/prover bin/prover.o bin/converter.o bin/input.o bin/parser.o bin/data.o bin/output.o
	
ctest: src/converter/driver.c bin/converter.o
	gcc -o bin/ctest bin/converter.o src/converter/driver.c
	
itest: src/input/driver.c bin/input.o
	gcc -o bin/itest bin/input.o src/input/driver.c
	
ptest: src/parser/driver.c bin/parser.o bin/input.o
	gcc -o bin/ptest bin/parser.o src/parser/driver.c bin/input.o

clean:
	rm -rf bin/*

run:
	bin/prover

crun:
	bin/ctest

irun:
	bin/itest

prun:
	bin/ptest
